This file lists the OS/2 APIs that are supported, not supported, and partially supported in the first release of Windows NT. It gives an explanation of the restrictions on those APIs that are partially supported. OS/2 APIs Supported in Windows NT, first release DosAllocHuge DosAllocSeg DosAllocShrSeg DosBeep DosBufReset DosCallback DosCallNmPipe DosCaseMap DosChDir DosChgFilePtr DosClose DosCloseQueue DosCloseSem DosConnectNmPipe DosCopy DosCreateCSAlias DosCreateQueue DosCreateSem DosCreateThread DosCwait DosDelete DosDevConfig DosDisConnectNmPipe DosDupHandle DosEditName DosEnterCritSec DosEnumAttribute DosErrClass DosError DosExecPgm DosExit DosExitCritSec DosExitList DosFileIO DosFileLocks DosFindClose DosFindFirst DosFindFirst2 DosFindNext DosFlagProcess DosFreeModule DosFreeResource DosFreeSeg DosFSCtl DosFSRamSemClear DosFSRamSemRequest DosGetCollate DosGetCp DosGetCtryInfo DosGetDateTime DosGetDBCSEv DosGetEnv DosGetHugeShift DosGetInfoSeg DosGetMachineMode DosGetMessage DosGetModHandle DosGetModName DosGetPID DosGetPPID DosGetProcAddr DosGetPrty DosGetResource DosGetResource2 DosGetSeg DosGetShrSeg DosGetVersion DosGiveSeg DosHoldSignal DosHugeIncr DosHugeShift DosInsMessage DosKillProcess DosLoadModule DosLockSeg DosMakeNmPipe DosMakePipe DosMemAvail DosMkDir DosMkDir2 DosMonClose DosMonOpen DosMonRead DosMonReg DosMonWrite DosMove DosMuxSemWait DosNewSize DosOpen DosOpen2 DosOpenQueue DosOpenSem DosPeekNmPipe DosPeekQueue DosPhysicalDisk DosPTrace DosPurgeQueue DosPutMessage DosQAppType DosQCurDir DosQCurDisk DosQFHandState DosQFileInfo DosQFileMode DosQFSAttach DosQFSInfo DosQHandType DosQNmPHandState DosQNmPipeInfo DosQNmPipeSemState DosQPathInfo DosQSysInfo DosQueryQueue DosQVerify DosR2StackRealloc DosRead DosReadAsync DosReadQueue DosReallocHuge DosReallocSeg DosResumeThread DosRmDir DosScanEnv DosSearchPath DosSelectDisk DosSelectSession DosSemClear DosSemRequest DosSemSet DosSemSetWait DosSemWait DosSendSignal DosSetCp DosSetDateTime DosSetFHandState DosSetFileInfo DosSetFileMode DosSetFilePtr DosSetFSInfo DosSetMaxFH DosSetNmPHandState DosSetNmPipeSem DosSetPathInfo DosSetProcCp DosSetPrty DosSetSession DosSetSigHandler DosSetVec DosSetVerify DosSizeSeg DosSleep DosStartSession DosStopSession DosSubAlloc DosSubFree DosSubSet DosSuspendThread DosTimerAsync DosTimerStart DosTimerStop DosTransactNmPipe DosUnlockSeg DosWaitNmPipe DosWrite DosWriteAsync DosWriteQueue KbdCharIn KbdClose KbdFlushBuffer KbdFreeFocus KbdGetCp KbdGetFocus KbdGetHWID KbdGetStatus KbdOpen KbdPeek KbdSetCp KbdSetStatus KbdStringIn MouClose MouFlushQue MouGetDevStatus MouGetEventMask MouGetNumButtons MouGetNumQueEl MouGetPtrPos MouOpen MouReadEventQue MouSetDevStatus MouSetEventMask NetAccessAdd NetAccessDel NetAccessGetInfo NetAccessSetInfo NetGetDCName NetHandleGetInfo NetMessageBufferSend NetServerDiskEnum NetServerEnum2 NetServerGetInfo NetServiceControl (standard services only) NetServiceEnum (standard services only) NetServiceGetInfo (standard services only) NetServiceInstall (standard services only) NetShareAdd NetShareDel NetShareEnum NetShareGetInfo NetUseAdd NetUseDel NetUseEnum NetUseGetInfo NetUserEnum NetUserGetInfo NetWkstaGetInfo NetBios (V3.0) NetBiosClose (V2.X) NetBiosEnum (V2.X) NetBiosGetInfo (V2.X) NetBiosOpen (V2.X) NetBiosSubmit (V2.X) VioCheckCharType VioEndPopUp VioGetAnsi VioGetBuf VioGetCp VioGetCurPos VioGetCurType VioPopUp VioReadCellStr VioReadCharStr VioScrLock VioScrollDn VioScrollLf VioScrollRt VioScrollUp VioScrUnLock VioSetAnsi VioSetCp VioSetCurPos VioSetCurType VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY WinQueryProfileData WinQueryProfileInt WinQueryProfileSize WinQueryProfileString WinWriteProfileData WinWriteProfileString OS/2 APIs Not Supported in Windows NT, first release DevCloseDC DevEscape DevOpenDC DevPostDeviceModes DevQueryCaps DevQueryDeviceNames DevQueryHardcopyCaps DosCLIAccess DosDynamicTrace DosFindNotifyClose DosFindNotifyFirst DosFindNotifyNext DosOplockRelease DosOplockWait DosPortAccess DosShutdown DosSystemService DosSysTrace GpiAssociate GpiBeginArea GpiBeginElement GpiBeginPath GpiBitBlt GpiBox GpiCallSegmentMatrix GpiCharString GpiCharStringAt GpiCharStringPos GpiCharStringPosAt GpiCloseFigure GpiCloseSegment GpiCombineRegion GpiComment GpiConvert GpiCopyMetaFile GpiCorrelateChain GpiCorrelateFrom GpiCorrelateSegment GpiCreateBitmap GpiCreateLogColorTable GpiCreateLogFont GpiCreatePS GpiCreateRegion GpiDeleteBitmap GpiDeleteElement GpiDeleteElementRange GpiDeleteElementsBetweenLabels GpiDeleteMetaFile GpiDeleteSegment GpiDeleteSegments GpiDeleteSetId GpiDestroyPS GpiDestroyRegion GpiDrawChain GpiDrawDynamics GpiDrawFrom GpiDrawSegment GpiElement GpiEndArea GpiEndElement GpiEndPath GpiEqualRegion GpiErase GpiErrorSegmentData GpiExcludeClipRectangle GpiFillPath GpiFullArc GpiGetData GpiImage GpiIntersectClipRectangle GpiLabel GpiLine GpiLoadBitmap GpiLoadFonts GpiLoadMetaFile GpiMarker GpiModifyPath GpiMove GpiOffsetClipRegion GpiOffsetElementPointer GpiOffsetRegion GpiOpenSegment GpiOutlinePath GpiPaintRegion GpiPartialArc GpiPlayMetaFile GpiPointArc GpiPolyFillet GpiPolyFilletSharp GpiPolyLine GpiPolyMarker GpiPolySpline GpiPop GpiPtInRegion GpiPtVisible GpiPutData GpiQueryArcParams GpiQueryAttrMode GpiQueryAttrs GpiQueryBackColor GpiQueryBackMix GpiQueryBitmapBits GpiQueryBitmapDimension GpiQueryBitmapHandle GpiQueryBitmapParameters GpiQueryBoundaryData GpiQueryCharAngle GpiQueryCharBox GpiQueryCharDirection GpiQueryCharMode GpiQueryCharSet GpiQueryCharShear GpiQueryCharStringPos GpiQueryCharStringPosAt GpiQueryClipBox GpiQueryClipRegion GpiQueryColor GpiQueryColorData GpiQueryColorIndex GpiQueryCp GpiQueryCurrentPosition GpiQueryDefArcParams GpiQueryDefAttrs GpiQueryDefaultViewMatrix GpiQueryDefCharBox GpiQueryDefTag GpiQueryDefViewingLimits GpiQueryDevice GpiQueryDeviceBitmapFormats GpiQueryDrawControl GpiQueryDrawingMode GpiQueryEditMode GpiQueryElement GpiQueryElementPointer GpiQueryElementType GpiQueryFontFileDescriptions GpiQueryFontMetrics GpiQueryFonts GpiQueryGraphicsField GpiQueryInitialSegmentAttrs GpiQueryKerningPairs GpiQueryLineEnd GpiQueryLineJoin GpiQueryLineType GpiQueryLineWidth GpiQueryLineWidthGeom GpiQueryLogColorTable GpiQueryMarker GpiQueryMarkerBox GpiQueryMarkerSet GpiQueryMetaFileBits GpiQueryMetaFileLength GpiQueryMix GpiQueryModelTransformMatrix GpiQueryNearestColor GpiQueryNumberSetIds GpiQueryPageViewport GpiQueryPattern GpiQueryPatternRefPoint GpiQueryPatternSet GpiQueryPel GpiQueryPickAperturePosition GpiQueryPickApertureSize GpiQueryPS GpiQueryRealColors GpiQueryRegionBox GpiQueryRegionRects GpiQueryRGBColor GpiQuerySegmentAttrs GpiQuerySegmentNames GpiQuerySegmentPriority GpiQuerySegmentTransformMatrix GpiQuerySetIds GpiQueryStopDraw GpiQueryTag GpiQueryTextBox GpiQueryViewingLimits GpiQueryViewingTransformMatrix GpiQueryWidthTable GpiRealizeColorTable GpiRectInRegion GpiRectVisible GpiRemoveDynamics GpiResetBoundaryData GpiResetPS GpiRestorePS GpiRotate GpiSaveMetaFile GpiSavePS GpiScale GpiSetArcParams GpiSetAttrMode GpiSetAttrs GpiSetBackColor GpiSetBackMix GpiSetBitmap GpiSetBitmapBits GpiSetBitmapDimension GpiSetBitmapId GpiSetCharAngle GpiSetCharBox GpiSetCharDirection GpiSetCharMode GpiSetCharSet GpiSetCharShear GpiSetClipPath GpiSetClipRegion GpiSetColor GpiSetCp GpiSetCurrentPosition GpiSetDefArcParams GpiSetDefAttrs GpiSetDefaultViewMatrix GpiSetDefTag GpiSetDefViewingLimits GpiSetDrawControl GpiSetDrawingMode GpiSetEditMode GpiSetElementPointer GpiSetElementPointerAtLabel GpiSetGraphicsField GpiSetInitialSegmentAttrs GpiSetLineEnd GpiSetLineJoin GpiSetLineType GpiSetLineWidth GpiSetLineWidthGeom GpiSetMarker GpiSetMarkerBox GpiSetMarkerSet GpiSetMetaFileBits GpiSetMix GpiSetModelTransformMatrix GpiSetPageViewport GpiSetPattern GpiSetPatternRefPoint GpiSetPatternSet GpiSetPel GpiSetPickAperturePosition GpiSetPickApertureSize GpiSetPS GpiSetRegion GpiSetSegmentAttrs GpiSetSegmentPriority GpiSetSegmentTransformMatrix GpiSetStopDraw GpiSetTag GpiSetViewingLimits GpiSetViewingTransformMatrix GpiStrokePath GpiTranslate GpiUnloadFonts GpiUnrealizeColorTable GpiWCBitBlt KbdDeRegister KbdRegister KbdSetCustXt KbdSetFgnd KbdSynch KbdXlate MouDeRegister MouDrawPtr MouGetNumMickeys MouGetPtrShape MouGetScaleFact MouInitReal MouRegister MouRemovePtr MouSetPtrPos MouSetPtrShape MouSetScaleFact MouSynch PicIchg PicPrint VioAssociate VioCreateLogFont VioCreatePS VioDeleteSetId VioDeRegister VioDestroyPS VioGetDeviceCellSize VioGetFont VioGetOrg VioGetPhysBuf VioModeUndo VioModeWait VioPrtSc VioPrtScToggle VioQueryFonts VioQuerySetIds VioRedrawSize VioRegister VioSavRedrawUndo VioSavRedrawWait VioSetDeviceCellSize VioSetFont VioSetOrg VioShowPS WinAddAtom WinAddProgram WinAlarm WinAllocMem WinAssociateHelpInstance WinAvailMem WinBeginEnumWindows WinBeginPaint WinBroadcastMsg WinCalcFrameRect WinCallMsgFilter WinCancelShutdown WinCatch WinCloseClipbrd WinCompareStrings WinCopyAccelTable WinCopyRect WinCpTranslateChar WinCpTranslateString WinCreateAccelTable WinCreateAtomTable WinCreateCursor WinCreateDlg WinCreateFKA WinCreateFrameControls WinCreateGroup WinCreateHeap WinCreateHelpInstance WinCreateHelpTable WinCreateMenu WinCreateMsgQueue WinCreatePointer WinCreatePointerIndirect WinCreateStdWindow WinCreateWindow WinDdeInitiate WinDdePostMsg WinDdeRespond WinDefDlgProc WinDefWindowProc WinDeleteAtom WinDeleteLibrary WinDeleteProcedure WinDestroyAccelTable WinDestroyAtomTable WinDestroyCursor WinDestroyHeap WinDestroyHelpInstance WinDestroyMsgQueue WinDestroyPointer WinDestroyWindow WinDismissDlg WinDispatchMsg WinDlgBox WinDrawBitmap WinDrawBorder WinDrawPointer WinDrawText WinEmptyClipbrd WinEnablePhysInput WinEnableWindow WinEnableWindowUpdate WinEndEnumWindows WinEndPaint WinEnumClipbrdFmts WinEnumDlgItem WinEqualRect WinExcludeUpdateRegion WinFillRect WinFindAtom WinFlashWindow WinFocusChange WinFreeErrorInfo WinFreeMem WinGetClipPS WinGetCurrentTime WinGetDlgMsg WinGetErrorInfo WinGetKeyState WinGetLastError WinGetMaxPosition WinGetMinPosition WinGetMsg WinGetNextWindow WinGetPhysKeyState WinGetPS WinGetScreenPS WinGetSysBitmap WinGoFromFKA WinGoToFKA WinInflateRect WinInitialize WinInSendMsg WinIntersectRect WinInvalidateRect WinInvalidateRegion WinInvertRect WinIsChild WinIsPhysInputEnabled WinIsRectEmpty WinIsThreadActive WinIsWindow WinIsWindowEnabled WinIsWindowShowing WinIsWindowVisible WinLoadAccelTable WinLoadDlg WinLoadFKA WinLoadHelpTable WinLoadLibrary WinLoadMenu WinLoadMessage WinLoadPointer WinLoadProcedure WinLoadString WinLockHeap WinLockVisRegions WinLockWindow WinLockWindowUpdate WinMakePoints WinMakeRect WinMapDlgPoints WinMapWindowPoints WinMessageBox WinMsgMuxSemWait WinMsgSemWait WinMultWindowFromIDs WinNextChar WinOffsetRect WinOpenClipbrd WinOpenWindowDC WinPeekMsg WinPostMsg WinPostQueueMsg WinPrevChar WinProcessDlg WinPtInRect WinQueryAccelTable WinQueryActiveWindow WinQueryAnchorBlock WinQueryAtomLength WinQueryAtomName WinQueryAtomUsage WinQueryCapture WinQueryClassInfo WinQueryClassName WinQueryClipbrdData WinQueryClipbrdFmtInfo WinQueryClipbrdOwner WinQueryClipbrdViewer WinQueryCp WinQueryCpList WinQueryCursorInfo WinQueryDefinition WinQueryDesktopWindow WinQueryDlgItemShort WinQueryDlgItemText WinQueryDlgItemTextLength WinQueryFKAForm WinQueryFocus WinQueryHelpInstance WinQueryMsgPos WinQueryMsgTime WinQueryObjectWindow WinQueryPointer WinQueryPointerInfo WinQueryPointerPos WinQueryPresParam WinQueryProgramTitles WinQueryQueueInfo WinQueryQueueStatus WinQuerySysColor WinQuerySysModalWindow WinQuerySysPointer WinQuerySystemAtomTable WinQuerySysValue WinQueryUpdateRect WinQueryUpdateRegion WinQueryVersion WinQueryWindow WinQueryWindowDC WinQueryWindowLockCount WinQueryWindowPos WinQueryWindowProcess WinQueryWindowPtr WinQueryWindowRect WinQueryWindowText WinQueryWindowTextLength WinQueryWindowULong WinQueryWindowUShort WinReallocMem WinRegisterClass WinRegisterUserDatatype WinRegisterUserMsg WinRegisterWindowDestroy WinReleaseHook WinReleasePS WinRemovePresParam WinScrollWindow WinSendDlgItemMsg WinSendMsg WinSetAccelTable WinSetActiveWindow WinSetCapture WinSetClassMsgInterest WinSetClipbrdData WinSetClipbrdOwner WinSetClipbrdViewer WinSetCp WinSetDlgItemShort WinSetDlgItemText WinSetFKAForm WinSetFocus WinSetHelpIndex WinSetHelpLibraryHandles WinSetHelpLibraryNames WinSetHook WinSetKeyboardStateTable WinSetMsgInterest WinSetMsgMode WinSetMultWindowPos WinSetOwner WinSetParent WinSetPointer WinSetPointerPos WinSetPresParam WinSetRect WinSetRectEmpty WinSetSynchroMode WinSetSysColors WinSetSysModalWindow WinSetSysValue WinSetWindowBits WinSetWindowPos WinSetWindowPtr WinSetWindowText WinSetWindowULong WinSetWindowUShort WinShowCursor WinShowPointer WinShowTrackRect WinShowWindow WinStartDlg WinStartTimer WinStopTimer WinSubclassWindow WinSubstituteStrings WinSubtractRect WinTerminate WinThrow WinTrackRect WinTranslateAccel WinUnionRect WinUpdateWindow WinUpper WinUpperChar WinValidateRect WinValidateRegion WinWaitMsg WinWindowFromDC WinWindowFromID WinWindowFromPoint OS/2 APIs Partially Supported in Windows NT, first release DosDevIOCtl, DosDevIOCtl2 The IOCTLs from the Screen and Pointer Draw category are not supported. All of the IOCTLs from the General category are supported. All of the IOCTLs from the Asynchronous Communications category are supported: ASYNC_GETBAUDRATE ASYNC_GETCOMMERROR ASYNC_GETCOMMEVENT ASYNC_GETCOMMSTATUS ASYNC_GETDCBINFO ASYNC_GETINQUECOUNT ASYNC_GETLINECTRL ASYNC_GETLINESTATUS ASYNC_GETMODEMINPUT ASYNC_GETMODEMOUTPUT ASYNC_GETOUTQUECOUNT ASYNC_SETBAUDRATE ASYNC_SETBREAKOFF ASYNC_SETBREAKON ASYNC_SETDCBINFO ASYNC_SETLINECTRL ASYNC_SETMODEMCTRL ASYNC_STARTTRANSMIT ASYNC_STOPTRANSMIT ASYNC_TRANSMITIMM The following IOCTLs from the Keyboard category are supported: KBD_CREATE KBD_DESTROY KBD_GETCODEPAGE KBD_GETINPUTMODE KBD_GETINTERIMFLAG KBD_GETSHIFTSTATE KBD_PEEKCHAR KBD_READCHAR KBD_SETFOCUS KBD_SETINPUTMODE KBD_SETINTERIMFLAG KBD_SETKCB KBD_SETSHIFTSTATE All of the IOCTLs from the Printer category are supported: PRT_ACTIVATEFONT PRT_GETFRAMECTL PRT_GETINFINITERETRY PRT_GETPRINTERSTATUS PRT_INITPRINTER PRT_QUERYACTIVEFONT PRT_SETFRAMECTL PRT_SETINFINITERETRY PRT_VERIFYFONT PTR_GETPTRDRAWADDRESS The following IOCTLs from the Pointing Device (Mouse) category are supported: MOU_GETBUTTONCOUNT MOU_GETEVENTMASK MOU_GETMICKEYCOUUT MOU_GETMOUSTATUS MOU_GETQUESTATUS MOU_READQUESTATUS MOU_SETEVENTMASK MOU_SETMOUSTATUS The following IOCTLs from the Disk Control category are supported: DSK_BLOCKREMOVABLE DSK_GETDEVICEPARAMS DSK_GETLOGICALMAP DSK_LOCKDRIVE DSK_READTRACK DSK_REDETERMINEMEDIA DSK_SETLOGICALMAP DSK_SYNC DSK_UNLOCKDRIVE DSK_VERIFYTRACK The following IOCTL from the Physical Disk Control category is supported: PDSK_GETPHYSDEVICEPARAMS The following IOCTL from the Monitors category is supported: MON_REGISTERMONITOR DosFSAttach This function partially implements the DosFSAttach() API. The only valid FsName is "LAN". The format expected for the arguments is as follows: DeviceName = device name, e.g. "J:", "LPT1:" FsName = "LAN" FsData = "\01\0SHARENAME" for a regular connection or "\02\0SHARENAME\0PASSWORD" for a password connection or "\03\0SHARENAME\0PASSWORD\0USERNAME" for a username/password connection. FsDataLength = length of FsData AttachFlags = FS_ATTACH or FS_DETACH The function connects to the network using WNetAdd/DelConnection(). Therefore it will use the multiple provider router to connect to any type of network for which Windows NT has a redirector. The SHARENAME format depends on the network you're trying to reach. For LanMan/MsNet networks it is "\\\\sharename\\servername". If DeviceName is a drive letter, the drive is automatically reset to the root directory after a connection and before a disconnection. This is for compatibility with OS/2. VioGetConfig The following return values will always be returned in the _VIOCONFIGINFO structure. All other fields will always return 0 (zero). adapter = DISPLAY_VGA display = MONITOR_851X_COLOR cbMemory = 0x40000 (262,144) VioGetMode The following return values will always be returned in the _VIOMODEINFO structure. Values for col, row, hres, and vres will contain the correct values. fbType = VGMT_OTHER color = COLOR_16 fmt_ID = 0 attrib = 0 buf_addr = 0xFFFFFFFF buf_length = 0L full_length = 0L partial_length = 0L ex_data_addr = 0xFFFFFFFF VioSetMode The col and row fields in the _VIOMODEINFO structure will be used. All other fields will be ignored. No error code or value checking will be performed. VioGetState, VioSetState All fields in the structure will contain initial values, as indicated in the following list. Any setting of new values will be saved and returned on the next VioGetState call. VIOINTENSITY.fs = 0x0001 VIOOVERSCAN.color = 0 VIOPALSTATE.acolor = all 0 VIOCOLORREG.colorregaddr = all 0 VIOSETUNLINELOC.scanline = 31 VIOSETTARGET = (only primary display)